package com.shujia.wyh.redis_jdbc;
import com.shujia.wyh.redis_jdbc.utils.MySQLTool;
import redis.clients.jedis.Jedis;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

/*
    Redis的二级索引案例
    1、需要提前将商品名称和id存储在Redis中
 */
public class RedisApiDemo3 {
    public static void main(String[] args) throws Exception {
        //华为  联想  创维  小米  AOC  惠普 启稚  戴尔 然硕  机械革命  品纯  Apple  华硕  攀升  ROG

        //1、创建Redis的连接对象
        Jedis jedis = new Jedis("192.168.169.100", 7000);
        jedis.select(1);


        //2、与mysql的连接对象
        Connection conn = MySQLTool.getConnection();

        Statement statement = conn.createStatement();
//        ResultSet resultSet = statement.executeQuery("select id,name from jd_goods");
//
//        while (resultSet.next()){
//            String id = resultSet.getString(1);
//            String name = resultSet.getString(2);
//
//            //name作为key,id作为value存储
//            jedis.set(name,id);
//        }

        //3、查询数据、
        //京品电脑惠普(HP)战66 15.6英寸(英特尔酷睿 i5 16G 512GB 长续航 高色域低功耗屏)高性能轻薄本笔记本
        String id = jedis.get("京品电脑\n惠普(HP)战66 15.6英寸(英特尔酷睿 i5 16G 512GB 长续航 高色域低功耗屏)高性能轻薄本笔记本");
//        System.out.println(id);
        //拿着id去主数据库中查找
        PreparedStatement preparedStatement = conn.prepareStatement("select * from jd_goods where id=?");
        preparedStatement.setString(1,id);
        ResultSet resultSet = preparedStatement.executeQuery();
        while (resultSet.next()){
            String name = resultSet.getString(2);
            String price = resultSet.getString(3);
            String shop = resultSet.getString(4);
            String flags = resultSet.getString(5);
            String area = resultSet.getString(6);
            String cpu = resultSet.getString(7);
            String size = resultSet.getString(8);
            String memorySize = resultSet.getString(9);
            String gpu = resultSet.getString(10);
            String comments = resultSet.getString(11);
            System.out.println(name+"--"+price+"--"+shop+"--"+flags+"--"+area+"--"
                    +"--"+cpu+"--"+size+"--"+memorySize+"--"+gpu+"--"+comments);
        }


    }
}
